﻿//题目描述
//给定一棵包含 N 个节点的完全二叉树，树上每个节点都有一个权值，按从上到下、从左到右的顺序依次是 A1​, A2​, ⋯AN​，如下图所示：
//        A1
//     A2    A3
//  A4   A5 A6  A7
// … … … … …  …
//现在小明要把相同深度的节点的权值加在一起，他想知道哪个深度的节点权值之和最大？
//如果有多个深度的权值和同为最大，请你输出其中最小的深度。
//注：根的深度是 1。
//输入格式
//第一行包含一个整数 N。
//第二行包含 N 个整数 A1​, A2​, ⋯, AN​。
//输出格式
//输出一个整数代表答案。
//输入输出样例
//输入 
//7
//1 6 5 4 3 2 1
//输出
//2
//说明 / 提示
//对于所有评测用例，1≤N≤10^5，0≤∣Ai​∣≤10^5。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e5 + 9;
int main() {
	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
	ll n; cin >> n; 
	ll dep = 1, max = -1e5 + 9, min = 1e5 + 9,sum=0;
	for (int i = 1; i <= n; i++) {
		ll a;cin >> a;
		sum += a;
		if (i == (1 << dep) - 1) {
			if (sum > max) {
				max = sum;
				min = dep;
			}
			dep++;
			sum = 0;
		}
	}
	cout << min;
	return 0;
}